#include "Log.hpp"

int main()
{
    // Console();
    File();
    LOG(LogLevel::DEBUG) << "Hello World!" << 1;
    LOG(LogLevel::WARING) << "Hello World!" << 2;
    LOG(LogLevel::DEBUG) << "Hello World!" << 3;
    LOG(LogLevel::DEBUG) << "Hello World!" << 4;


    // std::string test = "Hello Log!";
    // 策略1: 向显示器打印
    // 智能指针
    // std::unique_ptr<ConsoleLogStrategy> Log_ptr = std::make_unique<ConsoleLogStrategy>();

    // Log_ptr->SyncLog(test);
    // Log_ptr->SyncLog(test);
    // Log_ptr->SyncLog(test);
    // Log_ptr->SyncLog(test);
    // Log_ptr->SyncLog(test);

    // 向文件中打印
    //  std::unique_ptr<FileLogStrategy> Log_ptr = std::make_unique<FileLogStrategy>();
    //  Log_ptr->SyncLog(test);
    //  Log_ptr->SyncLog(test);
    //  Log_ptr->SyncLog(test);
    //  Log_ptr->SyncLog(test);
    //  Log_ptr->SyncLog(test);

    // 打印时间
    // Log_ptr->SyncLog(GetCurrentTime());
    // sleep(1);
    // Log_ptr->SyncLog(GetCurrentTime());
    // sleep(1);
    // Log_ptr->SyncLog(GetCurrentTime());
    // sleep(1);
    // Log_ptr->SyncLog(GetCurrentTime());
    // sleep(1);


    return 0;
}